package com.wn.main.ui.home.adapter

import com.bumptech.glide.Glide
import com.wn.common.model.Banner
import com.youth.banner.adapter.BannerImageAdapter
import com.youth.banner.holder.BannerImageHolder
import dagger.hilt.android.scopes.ActivityScoped
import javax.inject.Inject

/**
 * @Author: wn
 * @Date: 2024/10/11 15:58
 * @Description: 首页上方 banner 的适配器
 */
@ActivityScoped
class BannerAdapter @Inject constructor(_list: MutableList<Banner>) :
  BannerImageAdapter<Banner>(_list) {
  // 相同的内存地址 一改全改, 对外暴露 修改数据
  val list = _list

  /**
   * 绑定布局数据
   * @param holder   XViewHolder
   * @param data     数据实体
   * @param position 当前位置
   * @param size     总数
   */
  override fun onBindView(holder: BannerImageHolder?, data: Banner?, position: Int, size: Int) {
    // 如果为空的话直接返回
    holder ?: return
    // 处理图片 url
    val url = data?.imagePath ?: com.wn.framework.R.drawable.img_course
    // 为 imageView 加载图片
    Glide.with(holder.itemView)
      .load(url)
//      .apply(RequestOptions.bitmapTransform(RoundedCorners(30)))
      .into(holder.imageView)

    // itemView 点击事件
    holder.itemView.setOnClickListener {
//      WebViewActivity.openUrl(it.context,data?.url )
    }
  }

}